<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 明确目标: 
    const data = [
      {
        "id": 1, //学员id
        "province": "浙江省", //籍贯（省）
      },
      {
        "id": 2,
        "province": "安徽省", //籍贯（省）
      },
      {
        "id": 3,
        "province": "吉林省", //籍贯（省）
      },
      {
        "id": 5,
        "province": "吉林省", //籍贯（省）
      },
      {
        "id": 4,
        "province": "安徽省", //籍贯（省）
      },
      {
        "id": 6,
        "province": "安徽省", //籍贯（省）
      }
    ] 

    /*
      1.创建一个空数组
      2.遍历原数组
    
    */ 

    const newArr = []
    data.forEach(item => {
      // findIndex() 查找符合的条件, 返回的是符合条件的下标, 如果没找到,返回的是 -1

      const index = newArr.findIndex(v => v.name === item.province)
      console.log(index);
      // if (新数组中的每一项的 name 和 原数组中的每一项的province 对应上了- 找到了) {
      // index等于-1, 代表没有找到,大于等于0, 代表找到了 
      if (index>=0) {
        // 新数组中的这一项的value ++ 
        newArr[index].value ++
      } else {
        newArr.push({
          value: 1,
          name: item.province
        })
      }
      // newArr.push({
      //   value: 1,
      //   name: item.province
      // })
    })
    console.log(newArr);






    // 
    // const newArr = [
    //   {
    //     value: 1,
    //     name: '浙江'
    //   },
    //   {
    //     value: 2,
    //     name: '吉林'
    //   },
    //   {
    //     value: 3,
    //     name: '安徽'
    //   },

    // ]
  </script>
</body>

</html>